package com.robotic.route.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.robotic.common.annotation.Excel;
import com.robotic.common.core.domain.BaseEntity;

/**
 * 路线点位维护对象 route_point_detail
 *
 * @author tian
 * @date 2025-08-21
 */
@EqualsAndHashCode(callSuper = true)
@Data
@TableName("route_point_detail")
public class RoutePointDetail extends BaseEntity {

    /**
     * ID
     */
    @TableId(type = IdType.INPUT)
    private Long id;

    /**
     * 路线编号
     */
    private String routeCode;

    /**
     * 路线名称
     */
    @Excel(name = "路线名称")
    private String routeName;

    /**
     * 点位编号
     */
    private String pointCode;

    /**
     * 点位名称
     */
    @Excel(name = "点位名称")
    private String pointName;

    /**
     * 点位名称
     */
    @Excel(name = "点位名称")
    private String coordinates;

    @Excel(name = "X坐标")
    private String posX;

    @Excel(name = "Y坐标")
    private String posY;

    @Excel(name = "目标点的朝向角")
    private String angleYaw;

    @Excel(name = "地图编号")
    private String mapId;

    @Excel(name = "目标点类型")
    private String pointInfo;

    /**
     * 所属区域
     */
    @Excel(name = "所属区域")
    private String region;

    /**
     * 状态（0正常 1暂停）
     */
    @Excel(name = "状态", readConverterExp = "0=正常,1=暂停")
    private String status;

    /**
     * 状态（1杂物）
     */
    @Excel(name = "检测类型")
    private String checkType;

    @TableField(exist = false)
    private String startValue;

    @TableField(exist = false)
    private String endValue;

    private String speed;
    private String navMode;
    private String gait;

    private String manner;
    private String obsMode;
    private String posture;
    private String terrain;

    private String deviceType;
    private String temperatureCheck;
    private String gasCheck;
    private String model;

}
